


import bpy

import 全局控制.Node.节点和插座基类.bl_节点基类 as 基类
#import 全局控制.Node.容器.bl_容器节点数据操作 as 节点数据操作



class C_Node_2D_粒子容器(基类.C_SN_基类):
	bl_dname = 'bl_node_2D_粒子容器'
	bl_label = '2D 粒子容器'

	m_Code = bpy.props.StringProperty()

	def init(self, context):
		super(C_Node_2D_粒子容器, self).f_init(context)
		self.inputs.new('C_NodeSocket_2D粒子集合', name='2D集合初始化')
		self.inputs.new('C_NodeSocket_粒子', name='添加粒子')
		self.outputs.new('C_NodeSocket_2D粒子集合', name='2D粒子集合')
		
	
	def f_input插座Update(self, input插座, 上层Output=None):
		if 上层Output :
			data = 上层Output.f_getData()
			
			if input插座.name == '添加粒子':
				#print('C_Node_2D_粒子容器 上层Output.f_getData', data)
				self.outputs['2D粒子集合'].f_addData(data)
				
			elif input插座.name == '2D集合初始化':
				#print('C_Node_2D_粒子容器 = ', 上层Output)
				self.outputs['2D粒子集合'].f_setData([])
				for y in data:
					pass
				pass
			super(C_Node_2D_粒子容器, self).f_input插座Update(input插座, 上层Output)
		else:
			print('2D 粒子集合 没有输出插座链接')
		
	def f_update(self, 是否向下传递=False, input插座=None):
		#偏移坐标 = self.inputs['偏移坐标'].f_getData()
		#旋转角度 = self.inputs['旋转角度'].f_getData()
		super(C_Node_2D_粒子容器, self).f_update(是否向下传递, input插座)
		return False


class C_NODE_AddMenu_2D_粒子容器(bpy.types.Operator):
	bl_idname = 'node.global_node_collection_particle_dim_ii'
	bl_label = '2D 粒子容器'
	bl_options = {'REGISTER', 'UNDO'}
	def execute(operator, context):
		bpy.ops.node.add_node(type='C_Node_2D_粒子容器', use_transform=True)
		return {'FINISHED'}




classes = (
	C_Node_2D_粒子容器,
	C_NODE_AddMenu_2D_粒子容器,
)

def register():
	for c in classes:
		bpy.utils.register_class(c)
		
def unregister():
	for c in classes:
		bpy.utils.unregister_class(c)





